package demo2;

//自定义异常类

//提供的异常不够用。有些场景下不能满足需要
public class Test {

    public String name = "haha";
    public String password = "123456";
    public static int test1(int a) {
        int[] arr = null;
        return arr[0];
    }

    public static void main1(String[] args) {
        test1(1);
    }

    public  void login(String name ,String password)  {
        if(!this.name.equals(name)) {
            throw new UserNameException("用户名异常");

        }

        if(!this.password.equals(password)) {


        }

    }

    public static void main(String[] args) {
        Test test = new Test();
        test.login("hehe","123456");
    }

}

class User {
    public String name;

}

//程序先执行try中的代码
//如果try中的代码出现异常，就会结束try中的代码
//如果找到匹配的异常类型，就会执行catch中的代码
//如果没有找到匹配的异常类型，将会把异常向上传递给方法调用者
//如果直到main都没有方法对异常进行处理，则交给JVM处理
//无论有没有异常处理，finally都会被执行


